evaluating composite functions